{3:}{4:}{$C+,A+,D-}{:4}program MFT(mffile,changefile,stylefile,texfile);
label 9999;const{8:}maxbytes=10000;maxnames=1000;hashsize=353;
bufsize=100;linelength=80;{:8}type{12:}ASCIIcode=0..255;
{:12}{13:}textfile=packed file of char;{:13}{50:}eightbits=0..255;
sixteenbits=0..65535;{:50}{52:}namepointer=0..maxnames;
{:52}var{9:}history:0..3;{:9}{15:}xord:array[char]of ASCIIcode;
xchr:array[ASCIIcode]of char;{:15}{20:}termout:textfile;
{:20}{23:}mffile:textfile;changefile:textfile;stylefile:textfile;
{:23}{25:}texfile:textfile;
{:25}{27:}buffer:array[0..bufsize]of ASCIIcode;{:27}{34:}line:integer;
otherline:integer;templine:integer;limit:0..bufsize;loc:0..bufsize;
inputhasended:boolean;changing:boolean;styling:boolean;
{:34}{36:}changebuffer:array[0..bufsize]of ASCIIcode;
changelimit:0..bufsize;
{:36}{51:}bytemem:packed array[0..maxbytes]of ASCIIcode;
bytestart:array[0..maxnames]of sixteenbits;
link:array[0..maxnames]of sixteenbits;
ilk:array[0..maxnames]of sixteenbits;{:51}{53:}nameptr:namepointer;
byteptr:0..maxbytes;{:53}{55:}idfirst:0..bufsize;idloc:0..bufsize;
hash:array[0..hashsize]of sixteenbits;
{:55}{72:}translation:array[ASCIIcode]of namepointer;i:ASCIIcode;
{:72}{74:}trle,trge,trne,tramp,trsharp,trskip,trps,trquad:namepointer;
{:74}{75:}curtype:eightbits;curtok:integer;prevtype:eightbits;
prevtok:integer;{:75}{77:}startofline:boolean;emptybuffer:boolean;
{:77}{78:}charclass:array[ASCIIcode]of 0..21;
{:78}{86:}outbuf:array[0..linelength]of ASCIIcode;outptr:0..linelength;
outline:integer;{:86}{29:}procedure error;var k,l:0..bufsize;
begin{30:}begin if styling then write(termout,'. (style file ')else if
changing then write(termout,'. (change file ')else write(termout,'. (');
writeln(termout,'l.',line:1,')');
if loc>=limit then l:=limit else l:=loc;
for k:=1 to l do write(termout,xchr[buffer[k-1]]);writeln(termout);
for k:=1 to l do write(termout,' ');
for k:=l+1 to limit do write(termout,xchr[buffer[k-1]]);end{:30};
break(termout);history:=2;end;{:29}{31:}procedure jumpout;
begin goto 9999;end;{:31}procedure initialize;var{14:}i:0..255;
{:14}{56:}h:0..hashsize;{:56}begin{10:}history:=0;
{:10}{16:}xchr[32]:=' ';xchr[33]:='!';xchr[34]:='"';xchr[35]:='#';
xchr[36]:='$';xchr[37]:='%';xchr[38]:='&';xchr[39]:='''';xchr[40]:='(';
xchr[41]:=')';xchr[42]:='*';xchr[43]:='+';xchr[44]:=',';xchr[45]:='-';
xchr[46]:='.';xchr[47]:='/';xchr[48]:='0';xchr[49]:='1';xchr[50]:='2';
xchr[51]:='3';xchr[52]:='4';xchr[53]:='5';xchr[54]:='6';xchr[55]:='7';
xchr[56]:='8';xchr[57]:='9';xchr[58]:=':';xchr[59]:=';';xchr[60]:='<';
xchr[61]:='=';xchr[62]:='>';xchr[63]:='?';xchr[64]:='@';xchr[65]:='A';
xchr[66]:='B';xchr[67]:='C';xchr[68]:='D';xchr[69]:='E';xchr[70]:='F';
xchr[71]:='G';xchr[72]:='H';xchr[73]:='I';xchr[74]:='J';xchr[75]:='K';
xchr[76]:='L';xchr[77]:='M';xchr[78]:='N';xchr[79]:='O';xchr[80]:='P';
xchr[81]:='Q';xchr[82]:='R';xchr[83]:='S';xchr[84]:='T';xchr[85]:='U';
xchr[86]:='V';xchr[87]:='W';xchr[88]:='X';xchr[89]:='Y';xchr[90]:='Z';
xchr[91]:='[';xchr[92]:='\';xchr[93]:=']';xchr[94]:='^';xchr[95]:='_';
xchr[96]:='`';xchr[97]:='a';xchr[98]:='b';xchr[99]:='c';xchr[100]:='d';
xchr[101]:='e';xchr[102]:='f';xchr[103]:='g';xchr[104]:='h';
xchr[105]:='i';xchr[106]:='j';xchr[107]:='k';xchr[108]:='l';
xchr[109]:='m';xchr[110]:='n';xchr[111]:='o';xchr[112]:='p';
xchr[113]:='q';xchr[114]:='r';xchr[115]:='s';xchr[116]:='t';
xchr[117]:='u';xchr[118]:='v';xchr[119]:='w';xchr[120]:='x';
xchr[121]:='y';xchr[122]:='z';xchr[123]:='{';xchr[124]:='|';
xchr[125]:='}';xchr[126]:='~';{:16}{17:}for i:=0 to 31 do xchr[i]:=' ';
for i:=127 to 255 do xchr[i]:=' ';
{:17}{18:}for i:=0 to 255 do xord[chr(i)]:=127;
for i:=128 to 255 do xord[xchr[i]]:=i;
for i:=1 to 126 do xord[xchr[i]]:=i;{:18}{21:}rewrite(termout,'TTY:');
{:21}{26:}rewrite(texfile);{:26}{54:}bytestart[0]:=0;byteptr:=0;
bytestart[1]:=0;nameptr:=1;
{:54}{57:}for h:=0 to hashsize-1 do hash[h]:=0;{:57}{76:}curtype:=1;
curtok:=0;{:76}{79:}for i:=48 to 57 do charclass[i]:=0;charclass[46]:=1;
charclass[32]:=2;charclass[37]:=3;charclass[34]:=4;charclass[44]:=5;
charclass[59]:=6;charclass[40]:=7;charclass[41]:=8;
for i:=65 to 90 do charclass[i]:=9;for i:=97 to 122 do charclass[i]:=9;
charclass[95]:=9;charclass[60]:=10;charclass[61]:=10;charclass[62]:=10;
charclass[58]:=10;charclass[124]:=10;charclass[96]:=11;
charclass[39]:=11;charclass[43]:=12;charclass[45]:=12;charclass[47]:=13;
charclass[42]:=13;charclass[92]:=13;charclass[33]:=14;charclass[63]:=14;
charclass[35]:=15;charclass[38]:=15;charclass[64]:=15;charclass[36]:=15;
charclass[94]:=16;charclass[126]:=16;charclass[91]:=17;
charclass[93]:=18;charclass[123]:=19;charclass[125]:=19;
for i:=0 to 31 do charclass[i]:=20;charclass[13]:=21;
for i:=127 to 255 do charclass[i]:=20;{:79}{88:}outptr:=1;outbuf[1]:=32;
outline:=1;write(texfile,'\input mftmac');{:88}{90:}outbuf[0]:=92;
{:90}end;{:3}{24:}procedure openinput;begin reset(mffile);
reset(changefile);reset(stylefile);end;
{:24}{28:}function inputln(var f:textfile):boolean;
var finallimit:0..bufsize;begin limit:=0;finallimit:=0;
if eof(f)then inputln:=false else begin while not eoln(f)do begin buffer
[limit]:=xord[f^];get(f);limit:=limit+1;
if buffer[limit-1]<>32 then finallimit:=limit;
if limit=bufsize then begin while not eoln(f)do get(f);limit:=limit-1;
if finallimit>limit then finallimit:=limit;begin writeln(termout);
write(termout,'! Input line too long');end;loc:=0;error;end;end;
readln(f);limit:=finallimit;inputln:=true;end;end;
{:28}{37:}function linesdontmatch:boolean;label 10;var k:0..bufsize;
begin linesdontmatch:=true;if changelimit<>limit then goto 10;
if limit>0 then for k:=0 to limit-1 do if changebuffer[k]<>buffer[k]then
goto 10;linesdontmatch:=false;10:end;
{:37}{38:}procedure primethechangebuffer;label 22,30,10;
var k:0..bufsize;begin changelimit:=0;
{39:}while true do begin line:=line+1;
if not inputln(changefile)then goto 10;if limit<2 then goto 22;
if buffer[0]<>64 then goto 22;
if(buffer[1]>=88)and(buffer[1]<=90)then buffer[1]:=buffer[1]+32;
if buffer[1]=120 then goto 30;
if(buffer[1]=121)or(buffer[1]=122)then begin loc:=2;
begin writeln(termout);write(termout,'! Where is the matching @x?');
error;end;end;22:end;30:{:39};{40:}repeat line:=line+1;
if not inputln(changefile)then begin begin writeln(termout);
write(termout,'! Change file ended after @x');error;end;goto 10;end;
until limit>0;{:40};{41:}begin changelimit:=limit;
if limit>0 then for k:=0 to limit-1 do changebuffer[k]:=buffer[k];
end{:41};10:end;{:38}{42:}procedure checkchange;label 10;var n:integer;
k:0..bufsize;begin if linesdontmatch then goto 10;n:=0;
while true do begin changing:=not changing;templine:=otherline;
otherline:=line;line:=templine;line:=line+1;
if not inputln(changefile)then begin begin writeln(termout);
write(termout,'! Change file ended before @y');error;end;changelimit:=0;
changing:=not changing;templine:=otherline;otherline:=line;
line:=templine;goto 10;end;
{43:}if limit>1 then if buffer[0]=64 then begin if(buffer[1]>=88)and(
buffer[1]<=90)then buffer[1]:=buffer[1]+32;
if(buffer[1]=120)or(buffer[1]=122)then begin loc:=2;
begin writeln(termout);write(termout,'! Where is the matching @y?');
error;end;end else if buffer[1]=121 then begin if n>0 then begin loc:=2;
begin writeln(termout);
write(termout,'! Hmm... ',n:1,' of the preceding lines failed to match')
;error;end;end;goto 10;end;end{:43};{41:}begin changelimit:=limit;
if limit>0 then for k:=0 to limit-1 do changebuffer[k]:=buffer[k];
end{:41};changing:=not changing;templine:=otherline;otherline:=line;
line:=templine;line:=line+1;
if not inputln(mffile)then begin begin writeln(termout);
write(termout,'! MF file ended during a change');error;end;
inputhasended:=true;goto 10;end;if linesdontmatch then n:=n+1;end;
10:end;{:42}{45:}procedure getline;label 20;
begin 20:if styling then{47:}begin line:=line+1;
if not inputln(stylefile)then begin styling:=false;line:=0;end;end{:47};
if not styling then begin if changing then{48:}begin line:=line+1;
if not inputln(changefile)then begin begin writeln(termout);
write(termout,'! Change file ended without @z');error;end;buffer[0]:=64;
buffer[1]:=122;limit:=2;end;
if limit>1 then if buffer[0]=64 then begin if(buffer[1]>=88)and(buffer[1
]<=90)then buffer[1]:=buffer[1]+32;
if(buffer[1]=120)or(buffer[1]=121)then begin loc:=2;
begin writeln(termout);write(termout,'! Where is the matching @z?');
error;end;end else if buffer[1]=122 then begin primethechangebuffer;
changing:=not changing;templine:=otherline;otherline:=line;
line:=templine;end;end;end{:48};
if not changing then begin{46:}begin line:=line+1;
if not inputln(mffile)then inputhasended:=true else if limit=changelimit
then if buffer[0]=changebuffer[0]then if changelimit>0 then checkchange;
end{:46};if changing then goto 20;end;end;end;
{:45}{58:}function lookup:namepointer;label 31;var i:0..bufsize;
h:0..hashsize;k:0..maxbytes;l:0..bufsize;p:namepointer;
begin l:=idloc-idfirst;{59:}h:=buffer[idfirst];i:=idfirst+1;
while i<idloc do begin h:=(h+h+buffer[i])mod hashsize;i:=i+1;end{:59};
{60:}p:=hash[h];
while p<>0 do begin if bytestart[p+1]-bytestart[p]=l then{61:}begin i:=
idfirst;k:=bytestart[p];
while(i<idloc)and(buffer[i]=bytemem[k])do begin i:=i+1;k:=k+1;end;
if i=idloc then goto 31;end{:61};p:=link[p];end;p:=nameptr;
link[p]:=hash[h];hash[h]:=p;31:{:60};
if p=nameptr then{62:}begin if byteptr+l>maxbytes then begin writeln(
termout);write(termout,'! Sorry, ','byte memory',' capacity exceeded');
error;history:=3;jumpout;end;
if nameptr+1>maxnames then begin writeln(termout);
write(termout,'! Sorry, ','name',' capacity exceeded');error;history:=3;
jumpout;end;i:=idfirst;
while i<idloc do begin bytemem[byteptr]:=buffer[i];byteptr:=byteptr+1;
i:=i+1;end;nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;
{63:}ilk[p]:=33{:63};end{:62};lookup:=p;end;{:58}{80:}procedure getnext;
label 25,85,86,30,31,10;var c:ASCIIcode;class:ASCIIcode;
begin prevtype:=curtype;prevtok:=curtok;
if emptybuffer then{85:}begin getline;
if inputhasended then begin curtype:=2;curtok:=idfirst;goto 10;end;
buffer[limit]:=13;loc:=0;startofline:=true;emptybuffer:=false;end{:85};
25:c:=buffer[loc];idfirst:=loc;loc:=loc+1;class:=charclass[c];
{81:}case class of 0:goto 85;1:begin class:=charclass[buffer[loc]];
if class>1 then goto 25 else if class<1 then goto 86;end;
2:if startofline then begin curtype:=0;curtok:=idfirst;goto 10;
end else goto 25;21:begin curtype:=1;curtok:=idfirst;goto 10;end;
4:{82:}while true do begin if buffer[loc]=34 then begin loc:=loc+1;
begin curtype:=7;curtok:=idfirst;goto 10;end;end;
if loc=limit then{83:}begin begin writeln(termout);
write(termout,'! Incomplete string will be ignored');error;end;goto 25;
end{:83};loc:=loc+1;end{:82};5,6,7,8:goto 31;
20:{84:}begin begin writeln(termout);
write(termout,'! Invalid character will be ignored');error;end;goto 25;
end{:84};others:end;while charclass[buffer[loc]]=class do loc:=loc+1;
goto 31;85:while charclass[buffer[loc]]=0 do loc:=loc+1;
if buffer[loc]<>46 then goto 30;
if charclass[buffer[loc+1]]<>0 then goto 30;loc:=loc+1;
86:repeat loc:=loc+1;until charclass[buffer[loc]]<>0;
30:begin curtype:=6;curtok:=idfirst;goto 10;end{:81};31:idloc:=loc;
curtok:=lookup;curtype:=ilk[curtok];10:end;
{:80}{87:}procedure flushbuffer(b:eightbits;percent:boolean);label 30;
var j,k:0..linelength;begin j:=b;
if not percent then while true do begin if j=0 then goto 30;
if outbuf[j]<>32 then goto 30;j:=j-1;end;
30:for k:=1 to j do write(texfile,xchr[outbuf[k]]);
if percent then write(texfile,xchr[37]);writeln(texfile);
outline:=outline+1;
if b<outptr then for k:=b+1 to outptr do outbuf[k-b]:=outbuf[k];
outptr:=outptr-b;end;{:87}{91:}procedure breakout;label 10;
var k:0..linelength;d:ASCIIcode;begin k:=outptr;
while true do begin if k=0 then{92:}begin begin writeln(termout);
write(termout,'! Line had to be broken (output l.',outline:1);end;
writeln(termout,'):');
for k:=1 to outptr-1 do write(termout,xchr[outbuf[k]]);writeln(termout);
if history=0 then history:=1;flushbuffer(outptr-1,true);goto 10;
end{:92};d:=outbuf[k];if d=32 then begin flushbuffer(k,false);goto 10;
end;if(d=92)and(outbuf[k-1]<>92)then begin flushbuffer(k-1,true);
goto 10;end;k:=k-1;end;10:end;{:91}{93:}procedure outstr(p:namepointer);
var k:0..maxbytes;
begin for k:=bytestart[p]to bytestart[p+1]-1 do begin if outptr=
linelength then breakout;outptr:=outptr+1;outbuf[outptr]:=bytemem[k];
end;end;{:93}{94:}procedure outname(p:namepointer);var k:0..maxbytes;
t:namepointer;
begin for k:=bytestart[p]to bytestart[p+1]-1 do begin t:=translation[
bytemem[k]];if t=0 then begin if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=bytemem[k];end else outstr(t);end;end;
{:94}{95:}procedure outmacandname(n:ASCIIcode;p:namepointer);
begin begin if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=92;end;begin if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=n;end;
if bytestart[p+1]-bytestart[p]=1 then outname(p)else begin begin if
outptr=linelength then breakout;outptr:=outptr+1;outbuf[outptr]:=123;
end;outname(p);begin if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=125;end;end;end;
{:95}{96:}procedure copy(firstloc:integer);var k:0..bufsize;
begin for k:=firstloc to loc-1 do begin if outptr=linelength then
breakout;outptr:=outptr+1;outbuf[outptr]:=buffer[k];end;end;
{:96}{97:}procedure dothetranslation;label 20,21,30,10;var k:0..bufsize;
t:integer;begin 20:if outptr>0 then flushbuffer(outptr,false);
emptybuffer:=true;while true do begin getnext;
if startofline then{98:}if curtype>=6 then begin begin if outptr=
linelength then breakout;outptr:=outptr+1;outbuf[outptr]:=36;end;
startofline:=false;
case curtype of 10:begin if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=92;if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=33;end;
11,12,13,14,15:begin if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=123;if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=125;end;others:end;
end else if curtype=1 then begin outstr(trskip);goto 20;
end else if curtype=5 then goto 20{:98};
21:case curtype of 6:{105:}if buffer[loc]=47 then if charclass[buffer[
loc+1]]=0 then begin begin if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=92;if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=102;if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=114;if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=97;if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=99;end;copy(curtok);getnext;
begin if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=47;if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=123;end;getnext;copy(curtok);
begin if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=125;end;end else copy(curtok)else copy(curtok){:105};
7:{99:}begin begin if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=92;if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=55;end;copy(curtok);end{:99};0:outstr(trquad);
1,5:{110:}begin begin if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=36;end;
if(loc<limit)and(curtype=1)then begin curtype:=29;goto 21;
end else begin begin if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=92;if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=112;if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=97;if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=114;end;goto 20;end;end{:110};
2:goto 10;{100:}8:outmacandname(49,curtok);9:outmacandname(50,curtok);
18:if prevtype=9 then outmacandname(49,curtok)else outmacandname(50,
curtok);10:outmacandname(51,curtok);13:outmacandname(52,curtok);
17:outmacandname(53,curtok);11:outmacandname(54,curtok);
19:outmacandname(56,curtok);20:outmacandname(63,curtok);
{:100}{101:}16,27,12:outname(curtok);
23:begin if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=92;if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=59;end;21:begin outname(curtok);getnext;
if curtype<>1 then if curtype<>10 then begin if outptr=linelength then
breakout;outptr:=outptr+1;outbuf[outptr]:=92;
if outptr=linelength then breakout;outptr:=outptr+1;outbuf[outptr]:=32;
end;goto 21;end;{:101}{102:}22:outstr(translation[92]);15:outstr(trps);
24:outstr(trle);25:outstr(trge);26:outstr(trne);14:outstr(tramp);
{:102}{103:}31:begin outmacandname(50,curtok);
begin if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=92;if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=104;if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=98;if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=111;if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=120;end;{104:}while buffer[loc]=32 do loc:=loc+1;
begin if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=123;if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=92;if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=116;if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=116;if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=32;end;
while(buffer[loc]<>32)and(buffer[loc]<>37)and(buffer[loc]<>59)and(loc<
limit)do begin begin if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=buffer[loc];end;loc:=loc+1;end;
begin if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=125;end{:104};end;
{:103}28,29:{108:}begin if curtype=28 then begin if outptr=linelength
then breakout;outptr:=outptr+1;outbuf[outptr]:=92;
if outptr=linelength then breakout;outptr:=outptr+1;outbuf[outptr]:=57;
end;idfirst:=loc;while(loc<limit)and(buffer[loc]<>124)do loc:=loc+1;
copy(idfirst);if loc<limit then begin startofline:=true;loc:=loc+1;
k:=loc;while(k<limit)and(buffer[k]<>124)do k:=k+1;buffer[k]:=13;
end else begin if outbuf[outptr]=92 then begin if outptr=linelength then
breakout;outptr:=outptr+1;outbuf[outptr]:=32;end;
begin if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=92;if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=112;if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=97;if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=114;end;goto 20;end;end{:108};
3:{109:}begin idfirst:=loc;loc:=limit;copy(idfirst);
if outptr=0 then begin outptr:=1;outbuf[1]:=32;end;goto 20;end{:109};
4:{111:}begin startofline:=false;getnext;t:=curtype;
while curtype>=8 do begin getnext;if curtype>=8 then ilk[curtok]:=t;end;
if curtype<>1 then if curtype<>5 then begin begin writeln(termout);
write(termout,'! Only symbolic tokens should appear after %%%');error;
end;goto 21;end;emptybuffer:=true;goto 20;end{:111};
30,32,33:{106:}begin if bytestart[curtok+1]-bytestart[curtok]=1 then
outname(curtok)else outmacandname(92,curtok);getnext;
if bytemem[bytestart[prevtok]]=39 then goto 21;
case prevtype of 30:begin if(curtype=6)or(curtype>=30)then begin if
outptr=linelength then breakout;outptr:=outptr+1;outbuf[outptr]:=92;
if outptr=linelength then breakout;outptr:=outptr+1;outbuf[outptr]:=44;
end;goto 21;end;
32:if curtype<30 then goto 21 else begin begin if outptr=linelength then
breakout;outptr:=outptr+1;outbuf[outptr]:=46;end;curtype:=30;goto 21;
end;
33:begin if curtype=33 then if bytemem[bytestart[curtok]]=39 then goto
21;
if(curtype=6)or(curtype>=30)then{107:}begin begin if outptr=linelength
then breakout;outptr:=outptr+1;outbuf[outptr]:=95;
if outptr=linelength then breakout;outptr:=outptr+1;outbuf[outptr]:=123;
end;
while true do begin if curtype>=30 then outname(curtok)else copy(curtok)
;if prevtype=32 then begin getnext;goto 30;end;getnext;
if curtype<30 then if curtype<>6 then goto 30;
if curtype=prevtype then if curtype=6 then begin if outptr=linelength
then breakout;outptr:=outptr+1;outbuf[outptr]:=92;
if outptr=linelength then breakout;outptr:=outptr+1;outbuf[outptr]:=44;
end else if charclass[bytemem[bytestart[curtok]]]=charclass[bytemem[
bytestart[prevtok]]]then if bytemem[bytestart[prevtok]]<>46 then begin
if outptr=linelength then breakout;outptr:=outptr+1;outbuf[outptr]:=46;
end else begin if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=92;if outptr=linelength then breakout;outptr:=outptr+1;
outbuf[outptr]:=44;end;end;30:begin if outptr=linelength then breakout;
outptr:=outptr+1;outbuf[outptr]:=125;end;goto 21;
end{:107}else if curtype=27 then outstr(trsharp)else goto 21;end;end;
end{:106};end;end;10:end;{:97}{112:}begin initialize;
writeln(termout,'This is MFT, Version 2.0');{65:}idloc:=18;idfirst:=16;
buffer[16]:=46;buffer[17]:=46;curtok:=lookup;ilk[curtok]:=(19);
idfirst:=17;buffer[17]:=91;curtok:=lookup;ilk[curtok]:=(16);idfirst:=17;
buffer[17]:=93;curtok:=lookup;ilk[curtok]:=(16);idfirst:=17;
buffer[17]:=125;curtok:=lookup;ilk[curtok]:=(16);idfirst:=17;
buffer[17]:=123;curtok:=lookup;ilk[curtok]:=(16);idfirst:=17;
buffer[17]:=58;curtok:=lookup;ilk[curtok]:=(20);idfirst:=16;
buffer[16]:=58;buffer[17]:=58;curtok:=lookup;ilk[curtok]:=(20);
idfirst:=15;buffer[15]:=124;buffer[16]:=124;buffer[17]:=58;
curtok:=lookup;ilk[curtok]:=(20);idfirst:=16;buffer[16]:=58;
buffer[17]:=61;curtok:=lookup;ilk[curtok]:=(16);idfirst:=17;
buffer[17]:=44;curtok:=lookup;ilk[curtok]:=(16);idfirst:=17;
buffer[17]:=59;curtok:=lookup;ilk[curtok]:=(21);idfirst:=17;
buffer[17]:=92;curtok:=lookup;ilk[curtok]:=(22);idfirst:=16;
buffer[16]:=92;buffer[17]:=92;curtok:=lookup;ilk[curtok]:=(23);
idfirst:=13;buffer[13]:=97;buffer[14]:=100;buffer[15]:=100;
buffer[16]:=116;buffer[17]:=111;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=16;buffer[16]:=97;buffer[17]:=116;curtok:=lookup;
ilk[curtok]:=(13);idfirst:=11;buffer[11]:=97;buffer[12]:=116;
buffer[13]:=108;buffer[14]:=101;buffer[15]:=97;buffer[16]:=115;
buffer[17]:=116;curtok:=lookup;ilk[curtok]:=(8);idfirst:=8;
buffer[8]:=98;buffer[9]:=101;buffer[10]:=103;buffer[11]:=105;
buffer[12]:=110;buffer[13]:=103;buffer[14]:=114;buffer[15]:=111;
buffer[16]:=117;buffer[17]:=112;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=10;buffer[10]:=99;buffer[11]:=111;buffer[12]:=110;
buffer[13]:=116;buffer[14]:=114;buffer[15]:=111;buffer[16]:=108;
buffer[17]:=115;curtok:=lookup;ilk[curtok]:=(8);idfirst:=14;
buffer[14]:=99;buffer[15]:=117;buffer[16]:=108;buffer[17]:=108;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=14;buffer[14]:=99;
buffer[15]:=117;buffer[16]:=114;buffer[17]:=108;curtok:=lookup;
ilk[curtok]:=(8);idfirst:=8;buffer[8]:=100;buffer[9]:=101;
buffer[10]:=108;buffer[11]:=105;buffer[12]:=109;buffer[13]:=105;
buffer[14]:=116;buffer[15]:=101;buffer[16]:=114;buffer[17]:=115;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=11;buffer[11]:=100;
buffer[12]:=105;buffer[13]:=115;buffer[14]:=112;buffer[15]:=108;
buffer[16]:=97;buffer[17]:=121;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=10;buffer[10]:=101;buffer[11]:=110;buffer[12]:=100;
buffer[13]:=103;buffer[14]:=114;buffer[15]:=111;buffer[16]:=117;
buffer[17]:=112;curtok:=lookup;ilk[curtok]:=(10);idfirst:=10;
buffer[10]:=101;buffer[11]:=118;buffer[12]:=101;buffer[13]:=114;
buffer[14]:=121;buffer[15]:=106;buffer[16]:=111;buffer[17]:=98;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=12;buffer[12]:=101;
buffer[13]:=120;buffer[14]:=105;buffer[15]:=116;buffer[16]:=105;
buffer[17]:=102;curtok:=lookup;ilk[curtok]:=(9);idfirst:=7;
buffer[7]:=101;buffer[8]:=120;buffer[9]:=112;buffer[10]:=97;
buffer[11]:=110;buffer[12]:=100;buffer[13]:=97;buffer[14]:=102;
buffer[15]:=116;buffer[16]:=101;buffer[17]:=114;curtok:=lookup;
ilk[curtok]:=(9);idfirst:=14;buffer[14]:=102;buffer[15]:=114;
buffer[16]:=111;buffer[17]:=109;curtok:=lookup;ilk[curtok]:=(13);
idfirst:=10;buffer[10]:=105;buffer[11]:=110;buffer[12]:=119;
buffer[13]:=105;buffer[14]:=110;buffer[15]:=100;buffer[16]:=111;
buffer[17]:=119;curtok:=lookup;ilk[curtok]:=(13);idfirst:=11;
buffer[11]:=105;buffer[12]:=110;buffer[13]:=116;buffer[14]:=101;
buffer[15]:=114;buffer[16]:=105;buffer[17]:=109;curtok:=lookup;
ilk[curtok]:=(9);idfirst:=15;buffer[15]:=108;buffer[16]:=101;
buffer[17]:=116;curtok:=lookup;ilk[curtok]:=(9);idfirst:=7;
buffer[7]:=110;buffer[8]:=101;buffer[9]:=119;buffer[10]:=105;
buffer[11]:=110;buffer[12]:=116;buffer[13]:=101;buffer[14]:=114;
buffer[15]:=110;buffer[16]:=97;buffer[17]:=108;curtok:=lookup;
ilk[curtok]:=(9);idfirst:=16;buffer[16]:=111;buffer[17]:=102;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=8;buffer[8]:=111;
buffer[9]:=112;buffer[10]:=101;buffer[11]:=110;buffer[12]:=119;
buffer[13]:=105;buffer[14]:=110;buffer[15]:=100;buffer[16]:=111;
buffer[17]:=119;curtok:=lookup;ilk[curtok]:=(9);idfirst:=8;
buffer[8]:=114;buffer[9]:=97;buffer[10]:=110;buffer[11]:=100;
buffer[12]:=111;buffer[13]:=109;buffer[14]:=115;buffer[15]:=101;
buffer[16]:=101;buffer[17]:=100;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=14;buffer[14]:=115;buffer[15]:=97;buffer[16]:=118;
buffer[17]:=101;curtok:=lookup;ilk[curtok]:=(9);idfirst:=8;
buffer[8]:=115;buffer[9]:=99;buffer[10]:=97;buffer[11]:=110;
buffer[12]:=116;buffer[13]:=111;buffer[14]:=107;buffer[15]:=101;
buffer[16]:=110;buffer[17]:=115;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=11;buffer[11]:=115;buffer[12]:=104;buffer[13]:=105;
buffer[14]:=112;buffer[15]:=111;buffer[16]:=117;buffer[17]:=116;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=14;buffer[14]:=115;
buffer[15]:=116;buffer[16]:=101;buffer[17]:=112;curtok:=lookup;
ilk[curtok]:=(13);idfirst:=15;buffer[15]:=115;buffer[16]:=116;
buffer[17]:=114;curtok:=lookup;ilk[curtok]:=(9);idfirst:=11;
buffer[11]:=116;buffer[12]:=101;buffer[13]:=110;buffer[14]:=115;
buffer[15]:=105;buffer[16]:=111;buffer[17]:=110;curtok:=lookup;
ilk[curtok]:=(8);idfirst:=16;buffer[16]:=116;buffer[17]:=111;
curtok:=lookup;ilk[curtok]:=(13);idfirst:=13;buffer[13]:=117;
buffer[14]:=110;buffer[15]:=116;buffer[16]:=105;buffer[17]:=108;
curtok:=lookup;ilk[curtok]:=(13);idfirst:=15;buffer[15]:=100;
buffer[16]:=101;buffer[17]:=102;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=12;buffer[12]:=118;buffer[13]:=97;buffer[14]:=114;
buffer[15]:=100;buffer[16]:=101;buffer[17]:=102;curtok:=lookup;
ilk[curtok]:=(9);{:65}{66:}idfirst:=8;buffer[8]:=112;buffer[9]:=114;
buffer[10]:=105;buffer[11]:=109;buffer[12]:=97;buffer[13]:=114;
buffer[14]:=121;buffer[15]:=100;buffer[16]:=101;buffer[17]:=102;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=6;buffer[6]:=115;
buffer[7]:=101;buffer[8]:=99;buffer[9]:=111;buffer[10]:=110;
buffer[11]:=100;buffer[12]:=97;buffer[13]:=114;buffer[14]:=121;
buffer[15]:=100;buffer[16]:=101;buffer[17]:=102;curtok:=lookup;
ilk[curtok]:=(9);idfirst:=7;buffer[7]:=116;buffer[8]:=101;
buffer[9]:=114;buffer[10]:=116;buffer[11]:=105;buffer[12]:=97;
buffer[13]:=114;buffer[14]:=121;buffer[15]:=100;buffer[16]:=101;
buffer[17]:=102;curtok:=lookup;ilk[curtok]:=(9);idfirst:=12;
buffer[12]:=101;buffer[13]:=110;buffer[14]:=100;buffer[15]:=100;
buffer[16]:=101;buffer[17]:=102;curtok:=lookup;ilk[curtok]:=(10);
idfirst:=15;buffer[15]:=102;buffer[16]:=111;buffer[17]:=114;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=7;buffer[7]:=102;
buffer[8]:=111;buffer[9]:=114;buffer[10]:=115;buffer[11]:=117;
buffer[12]:=102;buffer[13]:=102;buffer[14]:=105;buffer[15]:=120;
buffer[16]:=101;buffer[17]:=115;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=11;buffer[11]:=102;buffer[12]:=111;buffer[13]:=114;
buffer[14]:=101;buffer[15]:=118;buffer[16]:=101;buffer[17]:=114;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=12;buffer[12]:=101;
buffer[13]:=110;buffer[14]:=100;buffer[15]:=102;buffer[16]:=111;
buffer[17]:=114;curtok:=lookup;ilk[curtok]:=(10);idfirst:=13;
buffer[13]:=113;buffer[14]:=117;buffer[15]:=111;buffer[16]:=116;
buffer[17]:=101;curtok:=lookup;ilk[curtok]:=(9);idfirst:=14;
buffer[14]:=101;buffer[15]:=120;buffer[16]:=112;buffer[17]:=114;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=12;buffer[12]:=115;
buffer[13]:=117;buffer[14]:=102;buffer[15]:=102;buffer[16]:=105;
buffer[17]:=120;curtok:=lookup;ilk[curtok]:=(9);idfirst:=14;
buffer[14]:=116;buffer[15]:=101;buffer[16]:=120;buffer[17]:=116;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=11;buffer[11]:=112;
buffer[12]:=114;buffer[13]:=105;buffer[14]:=109;buffer[15]:=97;
buffer[16]:=114;buffer[17]:=121;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=9;buffer[9]:=115;buffer[10]:=101;buffer[11]:=99;
buffer[12]:=111;buffer[13]:=110;buffer[14]:=100;buffer[15]:=97;
buffer[16]:=114;buffer[17]:=121;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=10;buffer[10]:=116;buffer[11]:=101;buffer[12]:=114;
buffer[13]:=116;buffer[14]:=105;buffer[15]:=97;buffer[16]:=114;
buffer[17]:=121;curtok:=lookup;ilk[curtok]:=(9);idfirst:=13;
buffer[13]:=105;buffer[14]:=110;buffer[15]:=112;buffer[16]:=117;
buffer[17]:=116;curtok:=lookup;ilk[curtok]:=(31);idfirst:=10;
buffer[10]:=101;buffer[11]:=110;buffer[12]:=100;buffer[13]:=105;
buffer[14]:=110;buffer[15]:=112;buffer[16]:=117;buffer[17]:=116;
curtok:=lookup;ilk[curtok]:=(17);idfirst:=16;buffer[16]:=105;
buffer[17]:=102;curtok:=lookup;ilk[curtok]:=(9);idfirst:=16;
buffer[16]:=102;buffer[17]:=105;curtok:=lookup;ilk[curtok]:=(10);
idfirst:=14;buffer[14]:=101;buffer[15]:=108;buffer[16]:=115;
buffer[17]:=101;curtok:=lookup;ilk[curtok]:=(9);idfirst:=12;
buffer[12]:=101;buffer[13]:=108;buffer[14]:=115;buffer[15]:=101;
buffer[16]:=105;buffer[17]:=102;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=14;buffer[14]:=116;buffer[15]:=114;buffer[16]:=117;
buffer[17]:=101;curtok:=lookup;ilk[curtok]:=(17);idfirst:=13;
buffer[13]:=102;buffer[14]:=97;buffer[15]:=108;buffer[16]:=115;
buffer[17]:=101;curtok:=lookup;ilk[curtok]:=(17);idfirst:=7;
buffer[7]:=110;buffer[8]:=117;buffer[9]:=108;buffer[10]:=108;
buffer[11]:=112;buffer[12]:=105;buffer[13]:=99;buffer[14]:=116;
buffer[15]:=117;buffer[16]:=114;buffer[17]:=101;curtok:=lookup;
ilk[curtok]:=(17);idfirst:=11;buffer[11]:=110;buffer[12]:=117;
buffer[13]:=108;buffer[14]:=108;buffer[15]:=112;buffer[16]:=101;
buffer[17]:=110;curtok:=lookup;ilk[curtok]:=(17);idfirst:=11;
buffer[11]:=106;buffer[12]:=111;buffer[13]:=98;buffer[14]:=110;
buffer[15]:=97;buffer[16]:=109;buffer[17]:=101;curtok:=lookup;
ilk[curtok]:=(17);idfirst:=8;buffer[8]:=114;buffer[9]:=101;
buffer[10]:=97;buffer[11]:=100;buffer[12]:=115;buffer[13]:=116;
buffer[14]:=114;buffer[15]:=105;buffer[16]:=110;buffer[17]:=103;
curtok:=lookup;ilk[curtok]:=(17);idfirst:=9;buffer[9]:=112;
buffer[10]:=101;buffer[11]:=110;buffer[12]:=99;buffer[13]:=105;
buffer[14]:=114;buffer[15]:=99;buffer[16]:=108;buffer[17]:=101;
curtok:=lookup;ilk[curtok]:=(17);idfirst:=14;buffer[14]:=103;
buffer[15]:=111;buffer[16]:=111;buffer[17]:=100;curtok:=lookup;
ilk[curtok]:=(32);idfirst:=16;buffer[16]:=61;buffer[17]:=58;
curtok:=lookup;ilk[curtok]:=(16);idfirst:=15;buffer[15]:=61;
buffer[16]:=58;buffer[17]:=124;curtok:=lookup;ilk[curtok]:=(16);
idfirst:=14;buffer[14]:=61;buffer[15]:=58;buffer[16]:=124;
buffer[17]:=62;curtok:=lookup;ilk[curtok]:=(16);idfirst:=15;
buffer[15]:=124;buffer[16]:=61;buffer[17]:=58;curtok:=lookup;
ilk[curtok]:=(16);idfirst:=14;buffer[14]:=124;buffer[15]:=61;
buffer[16]:=58;buffer[17]:=62;curtok:=lookup;ilk[curtok]:=(16);
idfirst:=14;buffer[14]:=124;buffer[15]:=61;buffer[16]:=58;
buffer[17]:=124;curtok:=lookup;ilk[curtok]:=(16);idfirst:=13;
buffer[13]:=124;buffer[14]:=61;buffer[15]:=58;buffer[16]:=124;
buffer[17]:=62;curtok:=lookup;ilk[curtok]:=(16);idfirst:=12;
buffer[12]:=124;buffer[13]:=61;buffer[14]:=58;buffer[15]:=124;
buffer[16]:=62;buffer[17]:=62;curtok:=lookup;ilk[curtok]:=(16);
idfirst:=14;buffer[14]:=107;buffer[15]:=101;buffer[16]:=114;
buffer[17]:=110;curtok:=lookup;ilk[curtok]:=(11);idfirst:=12;
buffer[12]:=115;buffer[13]:=107;buffer[14]:=105;buffer[15]:=112;
buffer[16]:=116;buffer[17]:=111;curtok:=lookup;ilk[curtok]:=(9);
{:66}{67:}idfirst:=5;buffer[5]:=110;buffer[6]:=111;buffer[7]:=114;
buffer[8]:=109;buffer[9]:=97;buffer[10]:=108;buffer[11]:=100;
buffer[12]:=101;buffer[13]:=118;buffer[14]:=105;buffer[15]:=97;
buffer[16]:=116;buffer[17]:=101;curtok:=lookup;ilk[curtok]:=(8);
idfirst:=15;buffer[15]:=111;buffer[16]:=100;buffer[17]:=100;
curtok:=lookup;ilk[curtok]:=(8);idfirst:=13;buffer[13]:=107;
buffer[14]:=110;buffer[15]:=111;buffer[16]:=119;buffer[17]:=110;
curtok:=lookup;ilk[curtok]:=(8);idfirst:=11;buffer[11]:=117;
buffer[12]:=110;buffer[13]:=107;buffer[14]:=110;buffer[15]:=111;
buffer[16]:=119;buffer[17]:=110;curtok:=lookup;ilk[curtok]:=(8);
idfirst:=15;buffer[15]:=110;buffer[16]:=111;buffer[17]:=116;
curtok:=lookup;ilk[curtok]:=(8);idfirst:=11;buffer[11]:=100;
buffer[12]:=101;buffer[13]:=99;buffer[14]:=105;buffer[15]:=109;
buffer[16]:=97;buffer[17]:=108;curtok:=lookup;ilk[curtok]:=(8);
idfirst:=11;buffer[11]:=114;buffer[12]:=101;buffer[13]:=118;
buffer[14]:=101;buffer[15]:=114;buffer[16]:=115;buffer[17]:=101;
curtok:=lookup;ilk[curtok]:=(8);idfirst:=10;buffer[10]:=109;
buffer[11]:=97;buffer[12]:=107;buffer[13]:=101;buffer[14]:=112;
buffer[15]:=97;buffer[16]:=116;buffer[17]:=104;curtok:=lookup;
ilk[curtok]:=(8);idfirst:=11;buffer[11]:=109;buffer[12]:=97;
buffer[13]:=107;buffer[14]:=101;buffer[15]:=112;buffer[16]:=101;
buffer[17]:=110;curtok:=lookup;ilk[curtok]:=(8);idfirst:=7;
buffer[7]:=116;buffer[8]:=111;buffer[9]:=116;buffer[10]:=97;
buffer[11]:=108;buffer[12]:=119;buffer[13]:=101;buffer[14]:=105;
buffer[15]:=103;buffer[16]:=104;buffer[17]:=116;curtok:=lookup;
ilk[curtok]:=(8);idfirst:=15;buffer[15]:=111;buffer[16]:=99;
buffer[17]:=116;curtok:=lookup;ilk[curtok]:=(8);idfirst:=15;
buffer[15]:=104;buffer[16]:=101;buffer[17]:=120;curtok:=lookup;
ilk[curtok]:=(8);idfirst:=13;buffer[13]:=65;buffer[14]:=83;
buffer[15]:=67;buffer[16]:=73;buffer[17]:=73;curtok:=lookup;
ilk[curtok]:=(8);idfirst:=14;buffer[14]:=99;buffer[15]:=104;
buffer[16]:=97;buffer[17]:=114;curtok:=lookup;ilk[curtok]:=(8);
idfirst:=12;buffer[12]:=108;buffer[13]:=101;buffer[14]:=110;
buffer[15]:=103;buffer[16]:=116;buffer[17]:=104;curtok:=lookup;
ilk[curtok]:=(8);idfirst:=5;buffer[5]:=116;buffer[6]:=117;
buffer[7]:=114;buffer[8]:=110;buffer[9]:=105;buffer[10]:=110;
buffer[11]:=103;buffer[12]:=110;buffer[13]:=117;buffer[14]:=109;
buffer[15]:=98;buffer[16]:=101;buffer[17]:=114;curtok:=lookup;
ilk[curtok]:=(8);idfirst:=13;buffer[13]:=120;buffer[14]:=112;
buffer[15]:=97;buffer[16]:=114;buffer[17]:=116;curtok:=lookup;
ilk[curtok]:=(8);idfirst:=13;buffer[13]:=121;buffer[14]:=112;
buffer[15]:=97;buffer[16]:=114;buffer[17]:=116;curtok:=lookup;
ilk[curtok]:=(8);idfirst:=12;buffer[12]:=120;buffer[13]:=120;
buffer[14]:=112;buffer[15]:=97;buffer[16]:=114;buffer[17]:=116;
curtok:=lookup;ilk[curtok]:=(8);idfirst:=12;buffer[12]:=120;
buffer[13]:=121;buffer[14]:=112;buffer[15]:=97;buffer[16]:=114;
buffer[17]:=116;curtok:=lookup;ilk[curtok]:=(8);idfirst:=12;
buffer[12]:=121;buffer[13]:=120;buffer[14]:=112;buffer[15]:=97;
buffer[16]:=114;buffer[17]:=116;curtok:=lookup;ilk[curtok]:=(8);
idfirst:=12;buffer[12]:=121;buffer[13]:=121;buffer[14]:=112;
buffer[15]:=97;buffer[16]:=114;buffer[17]:=116;curtok:=lookup;
ilk[curtok]:=(8);idfirst:=14;buffer[14]:=115;buffer[15]:=113;
buffer[16]:=114;buffer[17]:=116;curtok:=lookup;ilk[curtok]:=(8);
idfirst:=14;buffer[14]:=109;buffer[15]:=101;buffer[16]:=120;
buffer[17]:=112;curtok:=lookup;ilk[curtok]:=(8);idfirst:=14;
buffer[14]:=109;buffer[15]:=108;buffer[16]:=111;buffer[17]:=103;
curtok:=lookup;ilk[curtok]:=(8);idfirst:=14;buffer[14]:=115;
buffer[15]:=105;buffer[16]:=110;buffer[17]:=100;curtok:=lookup;
ilk[curtok]:=(8);idfirst:=14;buffer[14]:=99;buffer[15]:=111;
buffer[16]:=115;buffer[17]:=100;curtok:=lookup;ilk[curtok]:=(8);
idfirst:=13;buffer[13]:=102;buffer[14]:=108;buffer[15]:=111;
buffer[16]:=111;buffer[17]:=114;curtok:=lookup;ilk[curtok]:=(8);
idfirst:=4;buffer[4]:=117;buffer[5]:=110;buffer[6]:=105;buffer[7]:=102;
buffer[8]:=111;buffer[9]:=114;buffer[10]:=109;buffer[11]:=100;
buffer[12]:=101;buffer[13]:=118;buffer[14]:=105;buffer[15]:=97;
buffer[16]:=116;buffer[17]:=101;curtok:=lookup;ilk[curtok]:=(8);
idfirst:=8;buffer[8]:=99;buffer[9]:=104;buffer[10]:=97;buffer[11]:=114;
buffer[12]:=101;buffer[13]:=120;buffer[14]:=105;buffer[15]:=115;
buffer[16]:=116;buffer[17]:=115;curtok:=lookup;ilk[curtok]:=(8);
idfirst:=13;buffer[13]:=97;buffer[14]:=110;buffer[15]:=103;
buffer[16]:=108;buffer[17]:=101;curtok:=lookup;ilk[curtok]:=(8);
idfirst:=13;buffer[13]:=99;buffer[14]:=121;buffer[15]:=99;
buffer[16]:=108;buffer[17]:=101;curtok:=lookup;ilk[curtok]:=(8);
{:67}{68:}idfirst:=5;buffer[5]:=116;buffer[6]:=114;buffer[7]:=97;
buffer[8]:=99;buffer[9]:=105;buffer[10]:=110;buffer[11]:=103;
buffer[12]:=116;buffer[13]:=105;buffer[14]:=116;buffer[15]:=108;
buffer[16]:=101;buffer[17]:=115;curtok:=lookup;ilk[curtok]:=(30);
idfirst:=2;buffer[2]:=116;buffer[3]:=114;buffer[4]:=97;buffer[5]:=99;
buffer[6]:=105;buffer[7]:=110;buffer[8]:=103;buffer[9]:=101;
buffer[10]:=113;buffer[11]:=117;buffer[12]:=97;buffer[13]:=116;
buffer[14]:=105;buffer[15]:=111;buffer[16]:=110;buffer[17]:=115;
curtok:=lookup;ilk[curtok]:=(30);idfirst:=3;buffer[3]:=116;
buffer[4]:=114;buffer[5]:=97;buffer[6]:=99;buffer[7]:=105;
buffer[8]:=110;buffer[9]:=103;buffer[10]:=99;buffer[11]:=97;
buffer[12]:=112;buffer[13]:=115;buffer[14]:=117;buffer[15]:=108;
buffer[16]:=101;buffer[17]:=115;curtok:=lookup;ilk[curtok]:=(30);
idfirst:=4;buffer[4]:=116;buffer[5]:=114;buffer[6]:=97;buffer[7]:=99;
buffer[8]:=105;buffer[9]:=110;buffer[10]:=103;buffer[11]:=99;
buffer[12]:=104;buffer[13]:=111;buffer[14]:=105;buffer[15]:=99;
buffer[16]:=101;buffer[17]:=115;curtok:=lookup;ilk[curtok]:=(30);
idfirst:=6;buffer[6]:=116;buffer[7]:=114;buffer[8]:=97;buffer[9]:=99;
buffer[10]:=105;buffer[11]:=110;buffer[12]:=103;buffer[13]:=115;
buffer[14]:=112;buffer[15]:=101;buffer[16]:=99;buffer[17]:=115;
curtok:=lookup;ilk[curtok]:=(30);idfirst:=7;buffer[7]:=116;
buffer[8]:=114;buffer[9]:=97;buffer[10]:=99;buffer[11]:=105;
buffer[12]:=110;buffer[13]:=103;buffer[14]:=112;buffer[15]:=101;
buffer[16]:=110;buffer[17]:=115;curtok:=lookup;ilk[curtok]:=(30);
idfirst:=3;buffer[3]:=116;buffer[4]:=114;buffer[5]:=97;buffer[6]:=99;
buffer[7]:=105;buffer[8]:=110;buffer[9]:=103;buffer[10]:=99;
buffer[11]:=111;buffer[12]:=109;buffer[13]:=109;buffer[14]:=97;
buffer[15]:=110;buffer[16]:=100;buffer[17]:=115;curtok:=lookup;
ilk[curtok]:=(30);idfirst:=5;buffer[5]:=116;buffer[6]:=114;
buffer[7]:=97;buffer[8]:=99;buffer[9]:=105;buffer[10]:=110;
buffer[11]:=103;buffer[12]:=109;buffer[13]:=97;buffer[14]:=99;
buffer[15]:=114;buffer[16]:=111;buffer[17]:=115;curtok:=lookup;
ilk[curtok]:=(30);idfirst:=6;buffer[6]:=116;buffer[7]:=114;
buffer[8]:=97;buffer[9]:=99;buffer[10]:=105;buffer[11]:=110;
buffer[12]:=103;buffer[13]:=101;buffer[14]:=100;buffer[15]:=103;
buffer[16]:=101;buffer[17]:=115;curtok:=lookup;ilk[curtok]:=(30);
idfirst:=5;buffer[5]:=116;buffer[6]:=114;buffer[7]:=97;buffer[8]:=99;
buffer[9]:=105;buffer[10]:=110;buffer[11]:=103;buffer[12]:=111;
buffer[13]:=117;buffer[14]:=116;buffer[15]:=112;buffer[16]:=117;
buffer[17]:=116;curtok:=lookup;ilk[curtok]:=(30);idfirst:=6;
buffer[6]:=116;buffer[7]:=114;buffer[8]:=97;buffer[9]:=99;
buffer[10]:=105;buffer[11]:=110;buffer[12]:=103;buffer[13]:=115;
buffer[14]:=116;buffer[15]:=97;buffer[16]:=116;buffer[17]:=115;
curtok:=lookup;ilk[curtok]:=(30);idfirst:=5;buffer[5]:=116;
buffer[6]:=114;buffer[7]:=97;buffer[8]:=99;buffer[9]:=105;
buffer[10]:=110;buffer[11]:=103;buffer[12]:=111;buffer[13]:=110;
buffer[14]:=108;buffer[15]:=105;buffer[16]:=110;buffer[17]:=101;
curtok:=lookup;ilk[curtok]:=(30);{:68}{69:}idfirst:=14;buffer[14]:=121;
buffer[15]:=101;buffer[16]:=97;buffer[17]:=114;curtok:=lookup;
ilk[curtok]:=(30);idfirst:=13;buffer[13]:=109;buffer[14]:=111;
buffer[15]:=110;buffer[16]:=116;buffer[17]:=104;curtok:=lookup;
ilk[curtok]:=(30);idfirst:=15;buffer[15]:=100;buffer[16]:=97;
buffer[17]:=121;curtok:=lookup;ilk[curtok]:=(30);idfirst:=14;
buffer[14]:=116;buffer[15]:=105;buffer[16]:=109;buffer[17]:=101;
curtok:=lookup;ilk[curtok]:=(30);idfirst:=10;buffer[10]:=99;
buffer[11]:=104;buffer[12]:=97;buffer[13]:=114;buffer[14]:=99;
buffer[15]:=111;buffer[16]:=100;buffer[17]:=101;curtok:=lookup;
ilk[curtok]:=(30);idfirst:=11;buffer[11]:=99;buffer[12]:=104;
buffer[13]:=97;buffer[14]:=114;buffer[15]:=102;buffer[16]:=97;
buffer[17]:=109;curtok:=lookup;ilk[curtok]:=(30);idfirst:=12;
buffer[12]:=99;buffer[13]:=104;buffer[14]:=97;buffer[15]:=114;
buffer[16]:=119;buffer[17]:=100;curtok:=lookup;ilk[curtok]:=(30);
idfirst:=12;buffer[12]:=99;buffer[13]:=104;buffer[14]:=97;
buffer[15]:=114;buffer[16]:=104;buffer[17]:=116;curtok:=lookup;
ilk[curtok]:=(30);idfirst:=12;buffer[12]:=99;buffer[13]:=104;
buffer[14]:=97;buffer[15]:=114;buffer[16]:=100;buffer[17]:=112;
curtok:=lookup;ilk[curtok]:=(30);idfirst:=12;buffer[12]:=99;
buffer[13]:=104;buffer[14]:=97;buffer[15]:=114;buffer[16]:=105;
buffer[17]:=99;curtok:=lookup;ilk[curtok]:=(30);idfirst:=12;
buffer[12]:=99;buffer[13]:=104;buffer[14]:=97;buffer[15]:=114;
buffer[16]:=100;buffer[17]:=120;curtok:=lookup;ilk[curtok]:=(30);
idfirst:=12;buffer[12]:=99;buffer[13]:=104;buffer[14]:=97;
buffer[15]:=114;buffer[16]:=100;buffer[17]:=121;curtok:=lookup;
ilk[curtok]:=(30);idfirst:=8;buffer[8]:=100;buffer[9]:=101;
buffer[10]:=115;buffer[11]:=105;buffer[12]:=103;buffer[13]:=110;
buffer[14]:=115;buffer[15]:=105;buffer[16]:=122;buffer[17]:=101;
curtok:=lookup;ilk[curtok]:=(30);idfirst:=14;buffer[14]:=104;
buffer[15]:=112;buffer[16]:=112;buffer[17]:=112;curtok:=lookup;
ilk[curtok]:=(30);idfirst:=14;buffer[14]:=118;buffer[15]:=112;
buffer[16]:=112;buffer[17]:=112;curtok:=lookup;ilk[curtok]:=(30);
idfirst:=11;buffer[11]:=120;buffer[12]:=111;buffer[13]:=102;
buffer[14]:=102;buffer[15]:=115;buffer[16]:=101;buffer[17]:=116;
curtok:=lookup;ilk[curtok]:=(30);idfirst:=11;buffer[11]:=121;
buffer[12]:=111;buffer[13]:=102;buffer[14]:=102;buffer[15]:=115;
buffer[16]:=101;buffer[17]:=116;curtok:=lookup;ilk[curtok]:=(30);
idfirst:=11;buffer[11]:=112;buffer[12]:=97;buffer[13]:=117;
buffer[14]:=115;buffer[15]:=105;buffer[16]:=110;buffer[17]:=103;
curtok:=lookup;ilk[curtok]:=(30);idfirst:=6;buffer[6]:=115;
buffer[7]:=104;buffer[8]:=111;buffer[9]:=119;buffer[10]:=115;
buffer[11]:=116;buffer[12]:=111;buffer[13]:=112;buffer[14]:=112;
buffer[15]:=105;buffer[16]:=110;buffer[17]:=103;curtok:=lookup;
ilk[curtok]:=(30);idfirst:=8;buffer[8]:=102;buffer[9]:=111;
buffer[10]:=110;buffer[11]:=116;buffer[12]:=109;buffer[13]:=97;
buffer[14]:=107;buffer[15]:=105;buffer[16]:=110;buffer[17]:=103;
curtok:=lookup;ilk[curtok]:=(30);idfirst:=10;buffer[10]:=112;
buffer[11]:=114;buffer[12]:=111;buffer[13]:=111;buffer[14]:=102;
buffer[15]:=105;buffer[16]:=110;buffer[17]:=103;curtok:=lookup;
ilk[curtok]:=(30);idfirst:=9;buffer[9]:=115;buffer[10]:=109;
buffer[11]:=111;buffer[12]:=111;buffer[13]:=116;buffer[14]:=104;
buffer[15]:=105;buffer[16]:=110;buffer[17]:=103;curtok:=lookup;
ilk[curtok]:=(30);idfirst:=6;buffer[6]:=97;buffer[7]:=117;
buffer[8]:=116;buffer[9]:=111;buffer[10]:=114;buffer[11]:=111;
buffer[12]:=117;buffer[13]:=110;buffer[14]:=100;buffer[15]:=105;
buffer[16]:=110;buffer[17]:=103;curtok:=lookup;ilk[curtok]:=(30);
idfirst:=7;buffer[7]:=103;buffer[8]:=114;buffer[9]:=97;buffer[10]:=110;
buffer[11]:=117;buffer[12]:=108;buffer[13]:=97;buffer[14]:=114;
buffer[15]:=105;buffer[16]:=116;buffer[17]:=121;curtok:=lookup;
ilk[curtok]:=(30);idfirst:=12;buffer[12]:=102;buffer[13]:=105;
buffer[14]:=108;buffer[15]:=108;buffer[16]:=105;buffer[17]:=110;
curtok:=lookup;ilk[curtok]:=(30);idfirst:=6;buffer[6]:=116;
buffer[7]:=117;buffer[8]:=114;buffer[9]:=110;buffer[10]:=105;
buffer[11]:=110;buffer[12]:=103;buffer[13]:=99;buffer[14]:=104;
buffer[15]:=101;buffer[16]:=99;buffer[17]:=107;curtok:=lookup;
ilk[curtok]:=(30);idfirst:=6;buffer[6]:=119;buffer[7]:=97;
buffer[8]:=114;buffer[9]:=110;buffer[10]:=105;buffer[11]:=110;
buffer[12]:=103;buffer[13]:=99;buffer[14]:=104;buffer[15]:=101;
buffer[16]:=99;buffer[17]:=107;curtok:=lookup;ilk[curtok]:=(30);
idfirst:=6;buffer[6]:=98;buffer[7]:=111;buffer[8]:=117;buffer[9]:=110;
buffer[10]:=100;buffer[11]:=97;buffer[12]:=114;buffer[13]:=121;
buffer[14]:=99;buffer[15]:=104;buffer[16]:=97;buffer[17]:=114;
curtok:=lookup;ilk[curtok]:=(30);{:69}{70:}idfirst:=17;buffer[17]:=43;
curtok:=lookup;ilk[curtok]:=(12);idfirst:=17;buffer[17]:=45;
curtok:=lookup;ilk[curtok]:=(12);idfirst:=17;buffer[17]:=42;
curtok:=lookup;ilk[curtok]:=(12);idfirst:=17;buffer[17]:=47;
curtok:=lookup;ilk[curtok]:=(16);idfirst:=16;buffer[16]:=43;
buffer[17]:=43;curtok:=lookup;ilk[curtok]:=(11);idfirst:=15;
buffer[15]:=43;buffer[16]:=45;buffer[17]:=43;curtok:=lookup;
ilk[curtok]:=(15);idfirst:=15;buffer[15]:=97;buffer[16]:=110;
buffer[17]:=100;curtok:=lookup;ilk[curtok]:=(11);idfirst:=16;
buffer[16]:=111;buffer[17]:=114;curtok:=lookup;ilk[curtok]:=(11);
idfirst:=17;buffer[17]:=60;curtok:=lookup;ilk[curtok]:=(16);idfirst:=16;
buffer[16]:=60;buffer[17]:=61;curtok:=lookup;ilk[curtok]:=(24);
idfirst:=17;buffer[17]:=62;curtok:=lookup;ilk[curtok]:=(16);idfirst:=16;
buffer[16]:=62;buffer[17]:=61;curtok:=lookup;ilk[curtok]:=(25);
idfirst:=17;buffer[17]:=61;curtok:=lookup;ilk[curtok]:=(16);idfirst:=16;
buffer[16]:=60;buffer[17]:=62;curtok:=lookup;ilk[curtok]:=(26);
idfirst:=9;buffer[9]:=115;buffer[10]:=117;buffer[11]:=98;
buffer[12]:=115;buffer[13]:=116;buffer[14]:=114;buffer[15]:=105;
buffer[16]:=110;buffer[17]:=103;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=11;buffer[11]:=115;buffer[12]:=117;buffer[13]:=98;
buffer[14]:=112;buffer[15]:=97;buffer[16]:=116;buffer[17]:=104;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=5;buffer[5]:=100;
buffer[6]:=105;buffer[7]:=114;buffer[8]:=101;buffer[9]:=99;
buffer[10]:=116;buffer[11]:=105;buffer[12]:=111;buffer[13]:=110;
buffer[14]:=116;buffer[15]:=105;buffer[16]:=109;buffer[17]:=101;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=13;buffer[13]:=112;
buffer[14]:=111;buffer[15]:=105;buffer[16]:=110;buffer[17]:=116;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=8;buffer[8]:=112;
buffer[9]:=114;buffer[10]:=101;buffer[11]:=99;buffer[12]:=111;
buffer[13]:=110;buffer[14]:=116;buffer[15]:=114;buffer[16]:=111;
buffer[17]:=108;curtok:=lookup;ilk[curtok]:=(9);idfirst:=7;
buffer[7]:=112;buffer[8]:=111;buffer[9]:=115;buffer[10]:=116;
buffer[11]:=99;buffer[12]:=111;buffer[13]:=110;buffer[14]:=116;
buffer[15]:=114;buffer[16]:=111;buffer[17]:=108;curtok:=lookup;
ilk[curtok]:=(9);idfirst:=9;buffer[9]:=112;buffer[10]:=101;
buffer[11]:=110;buffer[12]:=111;buffer[13]:=102;buffer[14]:=102;
buffer[15]:=115;buffer[16]:=101;buffer[17]:=116;curtok:=lookup;
ilk[curtok]:=(9);idfirst:=17;buffer[17]:=38;curtok:=lookup;
ilk[curtok]:=(14);idfirst:=11;buffer[11]:=114;buffer[12]:=111;
buffer[13]:=116;buffer[14]:=97;buffer[15]:=116;buffer[16]:=101;
buffer[17]:=100;curtok:=lookup;ilk[curtok]:=(11);idfirst:=11;
buffer[11]:=115;buffer[12]:=108;buffer[13]:=97;buffer[14]:=110;
buffer[15]:=116;buffer[16]:=101;buffer[17]:=100;curtok:=lookup;
ilk[curtok]:=(11);idfirst:=12;buffer[12]:=115;buffer[13]:=99;
buffer[14]:=97;buffer[15]:=108;buffer[16]:=101;buffer[17]:=100;
curtok:=lookup;ilk[curtok]:=(11);idfirst:=11;buffer[11]:=115;
buffer[12]:=104;buffer[13]:=105;buffer[14]:=102;buffer[15]:=116;
buffer[16]:=101;buffer[17]:=100;curtok:=lookup;ilk[curtok]:=(11);
idfirst:=7;buffer[7]:=116;buffer[8]:=114;buffer[9]:=97;buffer[10]:=110;
buffer[11]:=115;buffer[12]:=102;buffer[13]:=111;buffer[14]:=114;
buffer[15]:=109;buffer[16]:=101;buffer[17]:=100;curtok:=lookup;
ilk[curtok]:=(11);idfirst:=11;buffer[11]:=120;buffer[12]:=115;
buffer[13]:=99;buffer[14]:=97;buffer[15]:=108;buffer[16]:=101;
buffer[17]:=100;curtok:=lookup;ilk[curtok]:=(11);idfirst:=11;
buffer[11]:=121;buffer[12]:=115;buffer[13]:=99;buffer[14]:=97;
buffer[15]:=108;buffer[16]:=101;buffer[17]:=100;curtok:=lookup;
ilk[curtok]:=(11);idfirst:=11;buffer[11]:=122;buffer[12]:=115;
buffer[13]:=99;buffer[14]:=97;buffer[15]:=108;buffer[16]:=101;
buffer[17]:=100;curtok:=lookup;ilk[curtok]:=(11);idfirst:=1;
buffer[1]:=105;buffer[2]:=110;buffer[3]:=116;buffer[4]:=101;
buffer[5]:=114;buffer[6]:=115;buffer[7]:=101;buffer[8]:=99;
buffer[9]:=116;buffer[10]:=105;buffer[11]:=111;buffer[12]:=110;
buffer[13]:=116;buffer[14]:=105;buffer[15]:=109;buffer[16]:=101;
buffer[17]:=115;curtok:=lookup;ilk[curtok]:=(11);idfirst:=11;
buffer[11]:=110;buffer[12]:=117;buffer[13]:=109;buffer[14]:=101;
buffer[15]:=114;buffer[16]:=105;buffer[17]:=99;curtok:=lookup;
ilk[curtok]:=(18);idfirst:=12;buffer[12]:=115;buffer[13]:=116;
buffer[14]:=114;buffer[15]:=105;buffer[16]:=110;buffer[17]:=103;
curtok:=lookup;ilk[curtok]:=(18);idfirst:=11;buffer[11]:=98;
buffer[12]:=111;buffer[13]:=111;buffer[14]:=108;buffer[15]:=101;
buffer[16]:=97;buffer[17]:=110;curtok:=lookup;ilk[curtok]:=(18);
idfirst:=14;buffer[14]:=112;buffer[15]:=97;buffer[16]:=116;
buffer[17]:=104;curtok:=lookup;ilk[curtok]:=(18);idfirst:=15;
buffer[15]:=112;buffer[16]:=101;buffer[17]:=110;curtok:=lookup;
ilk[curtok]:=(18);idfirst:=11;buffer[11]:=112;buffer[12]:=105;
buffer[13]:=99;buffer[14]:=116;buffer[15]:=117;buffer[16]:=114;
buffer[17]:=101;curtok:=lookup;ilk[curtok]:=(18);idfirst:=9;
buffer[9]:=116;buffer[10]:=114;buffer[11]:=97;buffer[12]:=110;
buffer[13]:=115;buffer[14]:=102;buffer[15]:=111;buffer[16]:=114;
buffer[17]:=109;curtok:=lookup;ilk[curtok]:=(18);idfirst:=14;
buffer[14]:=112;buffer[15]:=97;buffer[16]:=105;buffer[17]:=114;
curtok:=lookup;ilk[curtok]:=(18);{:70}{71:}idfirst:=15;buffer[15]:=101;
buffer[16]:=110;buffer[17]:=100;curtok:=lookup;ilk[curtok]:=(10);
idfirst:=14;buffer[14]:=100;buffer[15]:=117;buffer[16]:=109;
buffer[17]:=112;curtok:=lookup;ilk[curtok]:=(10);idfirst:=9;
buffer[9]:=98;buffer[10]:=97;buffer[11]:=116;buffer[12]:=99;
buffer[13]:=104;buffer[14]:=109;buffer[15]:=111;buffer[16]:=100;
buffer[17]:=101;curtok:=lookup;ilk[curtok]:=(17);idfirst:=7;
buffer[7]:=110;buffer[8]:=111;buffer[9]:=110;buffer[10]:=115;
buffer[11]:=116;buffer[12]:=111;buffer[13]:=112;buffer[14]:=109;
buffer[15]:=111;buffer[16]:=100;buffer[17]:=101;curtok:=lookup;
ilk[curtok]:=(17);idfirst:=8;buffer[8]:=115;buffer[9]:=99;
buffer[10]:=114;buffer[11]:=111;buffer[12]:=108;buffer[13]:=108;
buffer[14]:=109;buffer[15]:=111;buffer[16]:=100;buffer[17]:=101;
curtok:=lookup;ilk[curtok]:=(17);idfirst:=5;buffer[5]:=101;
buffer[6]:=114;buffer[7]:=114;buffer[8]:=111;buffer[9]:=114;
buffer[10]:=115;buffer[11]:=116;buffer[12]:=111;buffer[13]:=112;
buffer[14]:=109;buffer[15]:=111;buffer[16]:=100;buffer[17]:=101;
curtok:=lookup;ilk[curtok]:=(17);idfirst:=13;buffer[13]:=105;
buffer[14]:=110;buffer[15]:=110;buffer[16]:=101;buffer[17]:=114;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=13;buffer[13]:=111;
buffer[14]:=117;buffer[15]:=116;buffer[16]:=101;buffer[17]:=114;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=9;buffer[9]:=115;
buffer[10]:=104;buffer[11]:=111;buffer[12]:=119;buffer[13]:=116;
buffer[14]:=111;buffer[15]:=107;buffer[16]:=101;buffer[17]:=110;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=9;buffer[9]:=115;
buffer[10]:=104;buffer[11]:=111;buffer[12]:=119;buffer[13]:=115;
buffer[14]:=116;buffer[15]:=97;buffer[16]:=116;buffer[17]:=115;
curtok:=lookup;ilk[curtok]:=(17);idfirst:=14;buffer[14]:=115;
buffer[15]:=104;buffer[16]:=111;buffer[17]:=119;curtok:=lookup;
ilk[curtok]:=(9);idfirst:=6;buffer[6]:=115;buffer[7]:=104;
buffer[8]:=111;buffer[9]:=119;buffer[10]:=118;buffer[11]:=97;
buffer[12]:=114;buffer[13]:=105;buffer[14]:=97;buffer[15]:=98;
buffer[16]:=108;buffer[17]:=101;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=2;buffer[2]:=115;buffer[3]:=104;buffer[4]:=111;buffer[5]:=119;
buffer[6]:=100;buffer[7]:=101;buffer[8]:=112;buffer[9]:=101;
buffer[10]:=110;buffer[11]:=100;buffer[12]:=101;buffer[13]:=110;
buffer[14]:=99;buffer[15]:=105;buffer[16]:=101;buffer[17]:=115;
curtok:=lookup;ilk[curtok]:=(17);idfirst:=11;buffer[11]:=99;
buffer[12]:=111;buffer[13]:=110;buffer[14]:=116;buffer[15]:=111;
buffer[16]:=117;buffer[17]:=114;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=8;buffer[8]:=100;buffer[9]:=111;buffer[10]:=117;buffer[11]:=98;
buffer[12]:=108;buffer[13]:=101;buffer[14]:=112;buffer[15]:=97;
buffer[16]:=116;buffer[17]:=104;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=14;buffer[14]:=97;buffer[15]:=108;buffer[16]:=115;
buffer[17]:=111;curtok:=lookup;ilk[curtok]:=(9);idfirst:=11;
buffer[11]:=119;buffer[12]:=105;buffer[13]:=116;buffer[14]:=104;
buffer[15]:=112;buffer[16]:=101;buffer[17]:=110;curtok:=lookup;
ilk[curtok]:=(9);idfirst:=8;buffer[8]:=119;buffer[9]:=105;
buffer[10]:=116;buffer[11]:=104;buffer[12]:=119;buffer[13]:=101;
buffer[14]:=105;buffer[15]:=103;buffer[16]:=104;buffer[17]:=116;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=10;buffer[10]:=100;
buffer[11]:=114;buffer[12]:=111;buffer[13]:=112;buffer[14]:=112;
buffer[15]:=105;buffer[16]:=110;buffer[17]:=103;curtok:=lookup;
ilk[curtok]:=(9);idfirst:=11;buffer[11]:=107;buffer[12]:=101;
buffer[13]:=101;buffer[14]:=112;buffer[15]:=105;buffer[16]:=110;
buffer[17]:=103;curtok:=lookup;ilk[curtok]:=(9);idfirst:=11;
buffer[11]:=109;buffer[12]:=101;buffer[13]:=115;buffer[14]:=115;
buffer[15]:=97;buffer[16]:=103;buffer[17]:=101;curtok:=lookup;
ilk[curtok]:=(9);idfirst:=8;buffer[8]:=101;buffer[9]:=114;
buffer[10]:=114;buffer[11]:=109;buffer[12]:=101;buffer[13]:=115;
buffer[14]:=115;buffer[15]:=97;buffer[16]:=103;buffer[17]:=101;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=11;buffer[11]:=101;
buffer[12]:=114;buffer[13]:=114;buffer[14]:=104;buffer[15]:=101;
buffer[16]:=108;buffer[17]:=112;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=10;buffer[10]:=99;buffer[11]:=104;buffer[12]:=97;
buffer[13]:=114;buffer[14]:=108;buffer[15]:=105;buffer[16]:=115;
buffer[17]:=116;curtok:=lookup;ilk[curtok]:=(9);idfirst:=10;
buffer[10]:=108;buffer[11]:=105;buffer[12]:=103;buffer[13]:=116;
buffer[14]:=97;buffer[15]:=98;buffer[16]:=108;buffer[17]:=101;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=8;buffer[8]:=101;
buffer[9]:=120;buffer[10]:=116;buffer[11]:=101;buffer[12]:=110;
buffer[13]:=115;buffer[14]:=105;buffer[15]:=98;buffer[16]:=108;
buffer[17]:=101;curtok:=lookup;ilk[curtok]:=(9);idfirst:=8;
buffer[8]:=104;buffer[9]:=101;buffer[10]:=97;buffer[11]:=100;
buffer[12]:=101;buffer[13]:=114;buffer[14]:=98;buffer[15]:=121;
buffer[16]:=116;buffer[17]:=101;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=9;buffer[9]:=102;buffer[10]:=111;buffer[11]:=110;
buffer[12]:=116;buffer[13]:=100;buffer[14]:=105;buffer[15]:=109;
buffer[16]:=101;buffer[17]:=110;curtok:=lookup;ilk[curtok]:=(9);
idfirst:=11;buffer[11]:=115;buffer[12]:=112;buffer[13]:=101;
buffer[14]:=99;buffer[15]:=105;buffer[16]:=97;buffer[17]:=108;
curtok:=lookup;ilk[curtok]:=(9);idfirst:=8;buffer[8]:=110;
buffer[9]:=117;buffer[10]:=109;buffer[11]:=115;buffer[12]:=112;
buffer[13]:=101;buffer[14]:=99;buffer[15]:=105;buffer[16]:=97;
buffer[17]:=108;curtok:=lookup;ilk[curtok]:=(9);idfirst:=17;
buffer[17]:=37;curtok:=lookup;ilk[curtok]:=(28);idfirst:=16;
buffer[16]:=37;buffer[17]:=37;curtok:=lookup;ilk[curtok]:=(3);
idfirst:=15;buffer[15]:=37;buffer[16]:=37;buffer[17]:=37;curtok:=lookup;
ilk[curtok]:=(4);idfirst:=14;buffer[14]:=37;buffer[15]:=37;
buffer[16]:=37;buffer[17]:=37;curtok:=lookup;ilk[curtok]:=(5);
idfirst:=17;buffer[17]:=35;curtok:=lookup;ilk[curtok]:=(27);{:71};
{73:}for i:=0 to 255 do translation[i]:=0;byteptr:=byteptr+2;
bytemem[byteptr-2]:=92;bytemem[byteptr-1]:=36;curtok:=nameptr;
nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;translation[36]:=curtok;
byteptr:=byteptr+2;bytemem[byteptr-2]:=92;bytemem[byteptr-1]:=35;
curtok:=nameptr;nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;
translation[35]:=curtok;byteptr:=byteptr+2;bytemem[byteptr-2]:=92;
bytemem[byteptr-1]:=38;curtok:=nameptr;nameptr:=nameptr+1;
bytestart[nameptr]:=byteptr;translation[38]:=curtok;byteptr:=byteptr+2;
bytemem[byteptr-2]:=92;bytemem[byteptr-1]:=123;curtok:=nameptr;
nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;translation[123]:=curtok;
byteptr:=byteptr+2;bytemem[byteptr-2]:=92;bytemem[byteptr-1]:=125;
curtok:=nameptr;nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;
translation[125]:=curtok;byteptr:=byteptr+2;bytemem[byteptr-2]:=92;
bytemem[byteptr-1]:=95;curtok:=nameptr;nameptr:=nameptr+1;
bytestart[nameptr]:=byteptr;translation[95]:=curtok;byteptr:=byteptr+2;
bytemem[byteptr-2]:=92;bytemem[byteptr-1]:=37;curtok:=nameptr;
nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;translation[37]:=curtok;
byteptr:=byteptr+4;bytemem[byteptr-4]:=92;bytemem[byteptr-3]:=66;
bytemem[byteptr-2]:=83;bytemem[byteptr-1]:=32;curtok:=nameptr;
nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;translation[92]:=curtok;
byteptr:=byteptr+4;bytemem[byteptr-4]:=92;bytemem[byteptr-3]:=72;
bytemem[byteptr-2]:=65;bytemem[byteptr-1]:=32;curtok:=nameptr;
nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;translation[94]:=curtok;
byteptr:=byteptr+4;bytemem[byteptr-4]:=92;bytemem[byteptr-3]:=84;
bytemem[byteptr-2]:=73;bytemem[byteptr-1]:=32;curtok:=nameptr;
nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;translation[126]:=curtok;
byteptr:=byteptr+5;bytemem[byteptr-5]:=92;bytemem[byteptr-4]:=97;
bytemem[byteptr-3]:=115;bytemem[byteptr-2]:=116;bytemem[byteptr-1]:=32;
curtok:=nameptr;nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;
translation[42]:=curtok;byteptr:=byteptr+4;bytemem[byteptr-4]:=92;
bytemem[byteptr-3]:=65;bytemem[byteptr-2]:=77;bytemem[byteptr-1]:=32;
curtok:=nameptr;nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;
tramp:=curtok;byteptr:=byteptr+4;bytemem[byteptr-4]:=92;
bytemem[byteptr-3]:=66;bytemem[byteptr-2]:=76;bytemem[byteptr-1]:=32;
curtok:=nameptr;nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;
trskip:=curtok;byteptr:=byteptr+4;bytemem[byteptr-4]:=92;
bytemem[byteptr-3]:=83;bytemem[byteptr-2]:=72;bytemem[byteptr-1]:=32;
curtok:=nameptr;nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;
trsharp:=curtok;byteptr:=byteptr+4;bytemem[byteptr-4]:=92;
bytemem[byteptr-3]:=80;bytemem[byteptr-2]:=83;bytemem[byteptr-1]:=32;
curtok:=nameptr;nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;
trps:=curtok;byteptr:=byteptr+4;bytemem[byteptr-4]:=92;
bytemem[byteptr-3]:=108;bytemem[byteptr-2]:=101;bytemem[byteptr-1]:=32;
curtok:=nameptr;nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;
trle:=curtok;byteptr:=byteptr+4;bytemem[byteptr-4]:=92;
bytemem[byteptr-3]:=103;bytemem[byteptr-2]:=101;bytemem[byteptr-1]:=32;
curtok:=nameptr;nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;
trge:=curtok;byteptr:=byteptr+4;bytemem[byteptr-4]:=92;
bytemem[byteptr-3]:=110;bytemem[byteptr-2]:=101;bytemem[byteptr-1]:=32;
curtok:=nameptr;nameptr:=nameptr+1;bytestart[nameptr]:=byteptr;
trne:=curtok;byteptr:=byteptr+5;bytemem[byteptr-5]:=92;
bytemem[byteptr-4]:=113;bytemem[byteptr-3]:=117;bytemem[byteptr-2]:=97;
bytemem[byteptr-1]:=100;curtok:=nameptr;nameptr:=nameptr+1;
bytestart[nameptr]:=byteptr;trquad:=curtok;{:73};{44:}begin openinput;
line:=0;otherline:=0;changing:=true;primethechangebuffer;
changing:=not changing;templine:=otherline;otherline:=line;
line:=templine;styling:=true;limit:=0;loc:=1;buffer[0]:=32;
inputhasended:=false;end{:44};dothetranslation;
{49:}if changelimit<>0 then begin for loc:=0 to changelimit do buffer[
loc]:=changebuffer[loc];limit:=changelimit;changing:=true;
line:=otherline;loc:=changelimit;begin writeln(termout);
write(termout,'! Change file entry did not match');error;end;end{:49};
9999:{113:}case history of 0:begin writeln(termout);
write(termout,'(No errors were found.)');end;1:begin writeln(termout);
write(termout,'(Did you see the warning message above?)');end;
2:begin writeln(termout);
write(termout,'(Pardon me, but I think I spotted something wrong.)');
end;3:begin writeln(termout);
write(termout,'(That was a fatal error, my friend.)');end;end{:113};
end.{:112}
